package com.kjlink.internal.workreport.jira.mapper;

import cn.xuqiudong.common.base.mapper.BaseMapper;
import com.kjlink.internal.report4vue.jira.lookup.ProjectJiraLookup;
import com.kjlink.internal.report4vue.jira.request.JiraImportVo;
import com.kjlink.internal.report4vue.statictics.response.ApiJiraSummary;
import com.kjlink.internal.workreport.jira.model.Jira;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 功能: :jira信息 Mapper
 *
 * @author Vic.xu
 * @since 2024-05-10 15:08
 */
public interface JiraMapper extends BaseMapper<Jira> {

    Jira getJiraByCode(@Param("code") String code);

    /**
     * 统计自身的工时
     */
    int summarySelfUsedTime(@Param("code") String code);

    /**
     * 统计子jira的工时
     */
    int summarySubUsedTime(@Param("code") String code);

    /**
     * 统计总工时： 在统计完 自身的工时 和  子jira的工时 之后 累加两者
     */
    int summaryTotalUsedTime(@Param("code") String code);

    ApiJiraSummary summary();

    /**
     * 查询jira列表
     */
    List<Jira> getJiraList(ProjectJiraLookup lookup);

    /**
     * 批量更新项目id
     */
    int batchUpdateProjectId(JiraImportVo vo);

    /**
     * 获取未关闭的jira 列表
     */
    List<Jira> getNotClosedJira(@Param("size")int size);

    /**
     * 获取父jira 号
     */
    String getPcode(String code);

    int clearPlanDate(@Param("id") Integer id);
}
